[IA64] Make do_ssc() not fall into an infinite loop
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Thu, 30 Nov 2006 22:58:21 +0000 (15:58 -0700)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Thu, 30 Nov 2006 22:58:21 +0000 (15:58 -0700)
Instead, call panic_domain().

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
xen/arch/ia64/xen/fw_emul.c
xen/include/asm-ia64/debugger.h

index e539224cd23f0824d4a528f35e3fac400ef144f9..2a9f8fcb53ea60e64ed7e3664a37b81a41d57479 100644 (file)
@@ -1201,9 +1201,9 @@ if (!running_on_sim) { printk("SSC_OPEN, not implemented on hardware.  (ignoring
                vcpu_set_gr(current,8,-1L,0);
                break;
            default:
-               printk("ia64_handle_break: bad ssc code %lx, iip=0x%lx, b0=0x%lx... spinning\n",
-                       ssc, regs->cr_iip, regs->b0);
-               while(1);
+               panic_domain(regs,
+                            "%s: bad ssc code %lx, iip=0x%lx, b0=0x%lx\n",
+                            __func__, ssc, regs->cr_iip, regs->b0);
                break;
        }
        vcpu_increment_iip(current);
index 104cea9bfcfbe49f8ef77c829b9288125ce0c353..3e6a51d2e4855b89811bc3be9657a6929aa1f6c5 100644 (file)
 #define __ASM_DEBUGGER_H__
 
 // this number is an arbitary number which is not used for any other purpose
+// __builtin_trap() 0x0
 // ski  0x80001, 0x80002
 // kdb  0x80100, 0x80101
 // kprobe 0x80200, jprobe 0x80300
 // kgdb 0x6665
 // gdb 0x99998 (#define IA64_BREAKPOINT 0x00003333300LL)
+// ltrace 0x80001 (NOTE: this conflicts ski)
 
 // cdb should handle 0 and CDB_BREAK_NUM.
 #define CDB_BREAK_NUM  0x80800